import request from "@/utils/request";
import qs from 'qs';

// 登录接口
export function loginApi(data) {
    return request({
        url: '/user/login', // 你的接口路径
        method: 'post',
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        data: qs.stringify(data) // 把 JSON 转成表单格式
    });
}
//用户注册
export const usersRegisterService = (registerData) => {
    const params = new URLSearchParams()
    params.append('tel', registerData.phone)
    params.append('psw', registerData.password)
    params.append('name', registerData.name)
    params.append('sex', registerData.gender)
    params.append('role', "user")
    return request.post('/user/register', params);
}

//返回用户信息
export const getUserInfo=()=>{
    return request.get('/user/GetUserInfo');
}

// 查找某个球馆的信息
// 接受一个球馆 ID，获取该球馆的详细信息
export const findGymMes = (id) => {
    return request.get('/findGymMes', { params: { id } });
}

// 获取全部球馆信息
// 获取系统中所有球馆的基本信息列表
export const findAllGyms = () => {
    return request.get('/user/FindAllGyms');
}

// 用户预约球馆
// 接受用户预约请求的数据（如球馆ID、预约时间等），并发起预约
export const bookPlace = (bookPlaceRequest) => {
    return request.post('/user/bookPlace', bookPlaceRequest);
}

// 用户取消预约球馆
// 根据订单ID和球馆预约请求数据，取消该预约
export const UnBookPlace = (orderId, bookPlaceRequest) => {
    return request.post(`/user/UnBookPlace?OderId=${orderId}`, bookPlaceRequest);
}

// 根据手机号查询用户所有订单
// 根据用户的手机号，获取该用户的所有订单信息
export const showAllOrderByTel = (tel) => {
    return request.get('/user/ShowAllOderByTel', { params: { tel } });
}


// 根据手机号修改信息
// 修改基础信息
export const editmessage = (tel, name, gender) => {
    return request.post('/user/editmessage', null, {
        params: { tel, name, sex: gender }
    });
};

// 修改基础密码
export const editpsw = (tel, oldPassword, newPassword) => {
    return request.post('/user/editpsw', null, {
        params: {
            tel: tel,
            oldpsw: oldPassword,
            newpsw: newPassword
        }
    });
};

// 获取所有已发布的公告列表
export const getAllNotices = () => {
    return request.get('/admin/notices');
}

